package com.pwt.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.pwt.annotation.Update;
import io.swagger.v3.oas.annotations.Hidden;
import io.swagger.v3.oas.annotations.media.Schema;
import com.pwt.entity.base.BaseEntity;
import javax.persistence.*;
import javax.validation.constraints.NotBlank;

import lombok.EqualsAndHashCode;
import lombok.Data;

import org.hibernate.annotations.CreationTimestamp;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.GenericGenerator;

import java.io.Serializable;
import java.util.Date;


/**
 * Images
 *
 * @author auto generated
 * @date 2021-12-20 20:58:51
 */
@EqualsAndHashCode
@Data
@Entity
@Table(name = "[images]")
@Schema(name = "Images")
@DynamicInsert
@DynamicUpdate
public class Images implements Serializable {

	@Id
	@GeneratedValue(generator="system_uuid")
	@GenericGenerator(name="system_uuid",strategy="uuid")
	@Column(name = "id")
	@Schema(description = "ID")
	protected String id;

	/**
	 * ????
	 * nullable : true
	 * default  : null
	 */
	@Schema(name = "fileName",description = "文件名称")
	@Column(name = "file_name", nullable = true, length = 255)
	private String fileName;

	/**
	 * ????
	 * nullable : true
	 * default  : null
	 */
	@Schema(name = "uniqueName",description = "唯一名称")
	@Column(name = "unique_name", nullable = true, length = 255)
	private String uniqueName;

	/**
	 * ???
	 * nullable : true
	 * default  : null
	 */
	@Schema(name = "suffixName",description = "后缀名")
	@Column(name = "suffix_name", nullable = true, length = 255)
	private String suffixName;

	/**
	 * 路径
	 * nullable : true
	 * default  : null
	 */
	@Schema(name = "path",description = "路径")
	@Column(name = "path", nullable = true, length = 255)
	private String path;

	@Schema(name = "createTime",description = "createTime")
	@Column(name = "create_time",updatable = false)
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	protected Date createTime;

	/**
	 * 状态，1-NOK,2-OK,3-报警
	 * nullable : true
	 * default  : null
	 */
	@Schema(name = "state",description = "状态，1-NOK,2-OK,3-报警")
	@Column(name = "state", nullable = true, length = 255)
	private Integer state;

	/**
	 * 工位信息
	 * nullable : true
	 * default  : null
	 */
	@Schema(name = "station",description = "工位信息")
	@Column(name = "station", nullable = true, length = 255)
	private String station;
}
